package br.org.isvi.interpretador.portugol.types;

public class BooleanSymbol extends SymbolImpl {

	public final static BooleanSymbol VERDADEIRO = new BooleanSymbol(Boolean.TRUE);
	public final static BooleanSymbol FALSO = new BooleanSymbol(Boolean.FALSE);
	
	public BooleanSymbol(Boolean value) {
		super(Kind.BOOLEANO, value);
	}
	
	@Override
	public String toString() {
		return ((Boolean)getValue() ? "verdadeiro" : "falso");
	}

	public boolean bigger(Symbol symb) {		
		return false;
	}

	public boolean equals(Symbol symb) {		
		return this.getValue() == symb.getValue();
	}
	
	public static BooleanSymbol valueOf(String str) {
		BooleanSymbol ret = "verdadeiro".equalsIgnoreCase(str)?VERDADEIRO:FALSO;
		
		return ret;
	}

	public boolean smaller(Symbol symb) {
		return false;
	}
}
